/**
 * 卡片组件代码块对象接口
 * @property {string} lang - 代码语言类型
 * @property {string} content - 代码内容
 */
export interface TuiCardCodeBlock {
  /**
   * 代码语言类型
   */
  lang: string;
  /**
   * 代码内容
   */
  content: string;
}

/**
 * 卡片组件属性接口
 * @property {string} [header] - 卡片标题
 * @property {string} [footer] - 卡片底部内容
 * @property {'always' | 'hover' | 'never'} [shadow] - 卡片阴影出现的时机
 * @property {boolean} [sticky] - 是否允许卡片固定定位
 * @property {TuiCardCodeBlock[]} [codes] - 代码块数组，每个对象包含lang和content两个参数
 * @property {string | false} [featureTag] - 特性标签，为字符串时显示在卡片左上角，为false时不显示
 * @property {string | false} [leftBorderColor] - 左侧色条颜色，为字符串时显示对应的颜色，为false时不显示
 */
export interface TuiCardProps {
  /**
   * 卡片标题
   */
  header?: string;
  /**
   * 卡片底部内容
   */
  footer?: string;
  /**
   * 卡片阴影出现的时机
   * @default 'always'
   */
  shadow?: 'always' | 'hover' | 'never';
  /**
   * 是否允许卡片固定定位
   * @default false
   */
  sticky?: boolean;
  /**
   * 代码块数组，每个对象包含lang和content两个参数
   */
  codes?: TuiCardCodeBlock[];
  /**
   * 特性标签，为字符串时显示在卡片左上角，为false时不显示
   * @default false
   */
  featureTag?: string | false;
  /**
   * 左侧色条颜色，为字符串时显示对应的颜色，为false时不显示
   * @default false
   */
  leftBorderColor?: string | false;
}